using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using Pixysoft.Framework.XSchEmA;

namespace Pixysoft.Framework.Noebe
{
    public delegate void NoebeTransactionArea();

    public interface INoebeCommand : IQuerion, ISession, ISchemaCommand, IDisposable
    {
        bool IsOpen { get;}

        void Begin();

        void Begin(IsolationLevel level);

        void Begin(NoebeTransactionArea transactionArea);

        void Begin(IsolationLevel level, NoebeTransactionArea transactionArea);

        NoebeParameterCollection Parameters { get;}

        DataTable ExecuteReader();

        void Commit();

        void Rollback();
    }
}
